package com.chenyue.cm.match.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 赛事
 * </p>
 *
 * @author Lbx
 * @since 2021-10-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "JdMatch对象", description = "赛事")
public class JdMatch extends Model<JdMatch> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "赛事名称")
    private String name;

    @ApiModelProperty(value = "省")
    private String province;

    private Integer provinceCode;

    @ApiModelProperty(value = "市")
    private String city;

    private Integer cityCode;

    @ApiModelProperty(value = "区")
    private String area;

    private Integer areaCode;

    @ApiModelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty(value = "赛事分类")
    private Integer type;

    @ApiModelProperty(value = "比赛要求")
    private String description;

    @ApiModelProperty(value = "参赛人数")
    private Integer signCount;

    @ApiModelProperty(value = "参赛范围（1单人/2团体）")
    private Integer matchGroup;

    @ApiModelProperty(value = "参赛类型（1单人单项/2单人多项/3多人多项）")
    private Integer matchType;

    @ApiModelProperty(value = "付费方式 0免费 1纯金币 2纯钱")
    private Integer payType;

    @ApiModelProperty(value = "报名开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "报名结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @ApiModelProperty(value = "创建机构")
    private Integer cu;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ct;

    @ApiModelProperty(value = "审核状态 0待审核1通过2拒绝")
    private Integer state;

    @ApiModelProperty(value = "审核备注信息")
    private String remark;

    @ApiModelProperty(value = "报名价格")
    private Double signPrice;

    @ApiModelProperty(value = "是否中心发布 0不是1是")
    private Integer isCenterPush;

    @ApiModelProperty(value = "连麦时长（单位：分钟）")
    private Integer chatTime;

    @ApiModelProperty(value = "报名是否需要审核（1不需要 0需要）")
    private Integer isPublic;

    @ApiModelProperty(value = "奖励积分")
    private Integer integral;

    @ApiModelProperty(value = "赛事轮播图")
    private String bannerList;

    @ApiModelProperty(value = "是否需要实名 1需要 2不需要")
    private Integer needVerify;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
